package com.liuxing.log;

import java.lang.annotation.*;

/**
 * desc: 日志
 *
 * @author 刘磊
 * @since  2020/4/23
 */
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Log {
    // 日志类型
    int type();

    // 日志操作
    String action();

    // 关联ID，通过表达式获取对象的属性
    // %1 表示第一个参数，适用于基本数据类型
    // %1.id 表示第一个参数的id，适用于map和普通bean
    String key() default "";

    // 备注信息
    String comment() default "";

    // 是否记录返回结果
    boolean result() default false;

    // 日志执行条件表达式，参数表达式同key，增加了方法返回结果参数: %r
    String condition() default "true";
}
